Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release version 0.7.0 #22

Merged
merged 1 commit into from
Mar 18, 2019
Merged

Release version 0.7.0 #22

merged 1 commit into from
Mar 18, 2019

Conversation

e-rk
Copy link
Collaborator

@e-rk e-rk commented Mar 5, 2019

Documentation changes:

  • remove paths
  • clarify Thread configuration steps
  • add troubleshooting section
  • add description of LEDs

Additional extcap improvements:

  • use advisory (flock) serial port lock on Linux
  • extcap will no longer exit when unknown argument is passed
  • fix problem with undetected newline character

Firmware changes:

  • removed DFU trigger

@e-rk e-rk requested review from LuDuda and hubertmis March 5, 2019 10:39
@LuDuda LuDuda requested a review from stig-bjorlykke March 5, 2019 10:45
@e-rk
Copy link
Collaborator Author

e-rk commented Mar 5, 2019

We should not merge this until #19 is finished.

@hubertmis
Copy link
Collaborator

One doubt: version 1.0 without any regression tests? Shouldn't be 0.1?

@e-rk
Copy link
Collaborator Author

e-rk commented Mar 6, 2019

@hubertmis I think it's up to a debate. One can for example treat feature-completeness as the criteria for 1.0 release. IMO the sniffer as it is now is almost complete from the user standpoint except for the toolbar channel selection.

I have manually tested the operation of the extcap on both Windows and Ubuntu, with Python 2.7 and 3.7 on both Wireshark 2.6.7 and 3.0.0 versions. The only fix remaining that has to make it's way to master is here as it caused the newline character to be undetected on Python 3.7.

@hubertmis
Copy link
Collaborator

@e-rk , It's not up to debate. Have a look at 'Naming and version numbering' page in Confluence. Feature-completeness is the criteria for 0.1 release. Product maturity is the criteria for 1.0 release.

It's up to to debate if this project is mature. I think regression tests is one of product maturity criteria. I have some more concerns about maturity of this project, we can discuss F2F :)

Copy link
Collaborator

@stig-bjorlykke stig-bjorlykke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wireshark 3.0 added support for a DLT specifically made for the 802.15.4 sniffer, the IEEE 802.15.4 TAP link type, as specified in https://github.com/jkcko/ieee802.15.4-tap

This DLT should be used by the sniffer on Wireshark 3.0 when releasing a public version.

The implementation is pretty straight forward, I have tested using the following code:

    DLT='tap'
    DLT_NO = 283

    [...]

    if Nrf802154Sniffer.DLT == 'tap':
        caplength += 36

    [...]

    if Nrf802154Sniffer.DLT == 'tap':
        pcap += struct.pack('<HH', 0, 36) 
        pcap += struct.pack('<HHI', 0, 1, 0)
        pcap += struct.pack('<HHf', 1, 4, rssi)
        pcap += struct.pack('<HHHH', 3, 3, channel, 0)
        pcap += struct.pack('<HHI', 10, 1, lqi)

I can provide a PR if you want this support added before the release.

@e-rk
Copy link
Collaborator Author

e-rk commented Mar 6, 2019

@stig-bjorlykke Thanks a lot for the heads up. This could be even made the default behaviour for Wireshark 3.0.0 by checking the new --extcap-version command line parameter. It would be really nice to have this for the release and I will appreciate the PR a lot.

@hubertmis Thanks for explaining and giving me some pointers. I'll be glad to discuss more improvements with you. Consider me convinced on the version number.

@stig-bjorlykke
Copy link
Collaborator

Actually the new --extcap-version parameter is only implemented for a specific extcap feature, namely listing interfaces, and is not used when starting a capture. I would consider this a Wireshark bug.

The best way to solve this for the release is probably to add a setting in the Interface Options dialog to set DLT to use (without metadata, metadata on V2 using the provided Lua script and metadata on V3 using the builtin TAP support), optionally with some describing help text. Then the user can change this without editing the code.

@LuDuda
Copy link
Member

LuDuda commented Mar 7, 2019

I agree that the current version of the sniffer should not be 1.0, but mostly because of the maturity (I don't buy argument with automation tests though, although indeed this will be main priority for this project after this release).

Personally to promote this solution, I would use e.g. version 0.5.0 which in contrast to 0.1.0 does not suggest the initial stage of the project. There were many iterations already and it is successfully deployed in our regression tests. But I'm okay with following best practices.

Thanks @stig-bjorlykke we will take a look on adding DLT select in the interface configuration.

@stig-bjorlykke
Copy link
Collaborator

@LuDuda I have created a separate PR for configurable DLT (out-of-data meta-data) support.

@LuDuda LuDuda requested a review from greg-fer March 8, 2019 11:39
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated
Ensure that `pySerial` module was installed by the correct Python interpreter used by the extcap script.

##### On Windows
Ensure that the Python installation directory is included in the `PATH` environment variable and that `pySerial` module was installed.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no description why this issue is happening on Windows. Do you have any information about this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this problem is inherent to Windows as it does not have a directory structure like Unix-like systems have. Most people, who are familiar with the command line on Windows probably know that directories have to be added to the PATH variable to be conveniently used across the system from the command line.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to mention this reason in the doc?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so.

@e-rk e-rk changed the title Release version 1.0 Release version 0.7.0 Mar 11, 2019
@e-rk
Copy link
Collaborator Author

e-rk commented Mar 11, 2019

After discussion, the version is changed to 0.7.0.

@e-rk e-rk force-pushed the pr/release branch 2 times, most recently from a07e377 to 8abe9eb Compare March 12, 2019 10:37
@e-rk e-rk requested a review from greg-fer March 14, 2019 19:38
@e-rk
Copy link
Collaborator Author

e-rk commented Mar 15, 2019

Hi @greg-fer,
Could you please review my changes?
Thank you.

@e-rk
Copy link
Collaborator Author

e-rk commented Mar 15, 2019

All checks done on Windows and Ubuntu with WS 2.6.7 and 3.0.0 on both Python 2.7 and 3.7. I firmly believe this is ready to merge now.

Copy link
Member

@LuDuda LuDuda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍 Thanks!

Btw. I've just read @stig-bjorlykke comment:

Just remember to remove the dummy toolbar before the release because it does not provide any functionality and will confuse users.

I wasn't aware about this possibility. I would definately do it as a last enhancement for this PR.

@e-rk
Copy link
Collaborator Author

e-rk commented Mar 18, 2019

@LuDuda @stig-bjorlykke Good catch. Toolbar has been now removed.

Documentation changes:
* remove paths
* clarify Thread configuration steps
* add troubleshooting section
* add more detailed installation instructions
* add description of sniffer LEDs

Additional extcap improvements:
* use advisory (flock) serial port lock on Linux
* extcap will no longer exit when unknown argument is passed
* fix newline detection

Sniffer fimware changes:
* Remove the DFU trigger interface
* Change new packet indicator LED color
@e-rk e-rk merged commit 1a3178b into NordicSemiconductor:master Mar 18, 2019
@LuDuda
Copy link
Member

LuDuda commented Mar 18, 2019

Thanks LGTM 👍 Great work on that!

@stig-bjorlykke
Copy link
Collaborator

Next time remember to update extcap {version=1.0} in extcap_interfaces() to reflect the released version. This version is shown in the Help -> About Wireshark -> Plugins list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants